package com.sansui.blog.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @name: LoginInterceptor
 * @author: Sansui
 * @Software: IDEA
 * @Blog: https://www.cnblogs.com/sansui6/
 * @date: 2022-03-20 23:07
 **/

/*过滤器类  过滤后台登陆*/
public class LoginInterceptor implements HandlerInterceptor {


/**
 * 预处理回调方法，实现处理器的预处理（如检查登陆），第三个参数为响应的处理器，自定义Controller
 * 返回值：true表示继续流程（如调用下一个拦截器或处理器）；false表示流程中断
 （如登录检查失败），不会继续调用其他的拦截器或处理器，此时我们需要通过response来产生响应；
*/
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //判断客户端是否存在session数据
        if (request.getSession().getAttribute("user") == null) {
            response.sendRedirect("/admin");
            return false;
        }
        return true;
    }


}
